package com.tamtamy.jttamobile.data;

import java.util.ArrayList;
import java.util.Date;


/**
 * Handles the response to URI calls for  
 * <a href="https://tamtamy.reply.it/wiki/API#Content_.28file.29_detail">Content (file)</a>
 * <br>
 * <b>NOTE:</b>It's required to know "a priori" that it will be called a content of type file
 *  
 * @see ContentLink 
 * @author Omar "0m4r" Adobati 
 * @version %I%, %G% 
 * 
 */
public class ContentFile extends Content {
	
	private static final long serialVersionUID = 783360164458712934L;
	
	protected String contentUrl;
	protected String contentFileName;
	
	public ContentFile() {
		super();
		this.contentUrl = null;
		this.contentFileName = null;
	}

	public ContentFile(long id, String title, String url, String description,
			String permission, String discussionPermission,
			Date creationDate, Date updateDate, String userID,
			String favouriteCounter, String highlight, String numberOfComments,
			String rateEnabled, ArrayList<String> tags, String rate,
			String ratesNumber, String languageCode,
			ArrayList<String> commentList, String views, String downloads,
			String network, String size, String contentUrl, String contentFileName,
			boolean thumbnailPresent, String thumbnailSmall,
			String thumbnailRect, String thumbnailMedium,
			String thumbnailOriginal, String contentType,
			String contentTypeCategory) {
		super(id, title, contentUrl, description, permission, discussionPermission, creationDate, updateDate, userID, favouriteCounter, highlight, numberOfComments, rateEnabled, tags, rate, ratesNumber, languageCode, commentList, views, downloads, network, thumbnailOriginal, contentTypeCategory, contentType, contentTypeCategory, thumbnailSmall, thumbnailMedium, thumbnailRect, thumbnailPresent);
		this.size = size;
		this.contentUrl = contentUrl;
		this.contentFileName = contentFileName;
		this.thumbnailPresent = thumbnailPresent;
		this.thumbnailSmall = thumbnailSmall;
		this.thumbnailRect = thumbnailRect;
		this.thumbnailMedium = thumbnailMedium;
		this.thumbnailOriginal = thumbnailOriginal;
		this.contentType = contentType;
		this.contentTypeCategory = contentTypeCategory;
	}

	public String getContentFileName() {
		return contentFileName;
	}

	public void setContentFileName(String contentFileName) {
		this.contentFileName = contentFileName;
	}

	public String getContentUrl() {
		return contentUrl;
	}

	public void setContentUrl(String contentUrl) {
		this.contentUrl = contentUrl;
	}

	
	@Override
	public String toString() {
		return "ContentFile [size=" + size + ", contentUrl=" + contentUrl
				+ ", contentFileName=" + contentFileName
				+ ", thumbnailPresent=" + thumbnailPresent
				+ ", thumbnailSmall=" + thumbnailSmall + ", thumbnailRect="
				+ thumbnailRect + ", thumbnailMedium=" + thumbnailMedium
				+ ", thumbnailOriginal=" + thumbnailOriginal + ", contentType="
				+ contentType + ", contentTypeCategory=" + contentTypeCategory
				+ ", id=" + id + ", title=" + title + ", url=" + url
				+ ", description=" + description + ", permission=" + permission
				+ ", discussionPermission=" + discussionPermission
				+ ", creationDate=" + creationDate + ", updateDate="
				+ updateDate + ", userID=" + userID + ", favouriteCounter="
				+ favouriteCounter + ", highlight=" + highlight
				+ ", numberOfComments=" + numberOfComments + ", rateEnabled="
				+ rateEnabled + ", tags=" + tagList + ", rate=" + rate
				+ ", ratesNumber=" + ratesNumber + ", languageCode="
				+ languageCode + ", commentList=" + commentsList + ", views="
				+ views + ", downloads=" + downloads + ", network=" + network
				+ ", descriptionPlainText=" + descriptionPlainText
				+ ", permalink=" + permalink + ", modCount=" + modCount + "]";
	}

}
